f55dcd9e4434c55c8ba3a89fa7f2418d160dbd7b,javasrc/src/org/ccnx/ccn/test/impl/NetworkTest.java,NetworkTest,testRegisteredPrefix,#,85

Before Change


		putHandle.getNetworkManager().cancelInterestFilter(this, testName2, tfl);
		putHandle.getNetworkManager().setInterestFilter(this, testName3, tfl);
		putHandle.getNetworkManager().setInterestFilter(this, testName4, tfl);
		putHandle.getNetworkManager().setInterestFilter(this, testName5, tfl);
		putHandle.getNetworkManager().setInterestFilter(this, testName2, tfl);
		putHandle.getNetworkManager().setInterestFilter(this, testName1, tfl);
		gotInterest = false;
		filterSema.drainPermits();
		getHandle.expressInterest(interest6, tl);		
		filterSema.tryAcquire(WAIT_MILLIS, TimeUnit.MILLISECONDS);
		getHandle.checkError(TEST_TIMEOUT);
		Assert.assertTrue(gotInterest);
		getHandle.cancelInterest(interest6, tl);
		
		// Make sure that a filter that is a prefix of a registered filter
		// doesn't get registered separately.
		gotInterest = false;
		filterSema.drainPermits();
		putHandle.getNetworkManager().setInterestFilter(this, testName7, tfl);
		ArrayList<ContentName> prefixes = putHandle.getNetworkManager().getRegisteredPrefixes();
		Assert.assertFalse(prefixes.contains(testName7));
		getHandle.expressInterest(interest4, tl);
		filterSema.tryAcquire(WAIT_MILLIS, TimeUnit.MILLISECONDS);
		getHandle.checkError(TEST_TIMEOUT);
		Assert.assertTrue(gotInterest);
		getHandle.cancelInterest(interest4, tl);
		gotInterest = false;
		filterSema.drainPermits();
		getHandle.expressInterest(interest6, tl);
		filterSema.tryAcquire(WAIT_MILLIS, TimeUnit.MILLISECONDS);
		getHandle.checkError(TEST_TIMEOUT);
		Assert.assertTrue(gotInterest);
		getHandle.cancelInterest(interest6, tl);
		putHandle.getNetworkManager().cancelInterestFilter(this, testName1, tfl);
		putHandle.getNetworkManager().cancelInterestFilter(this, testName2, tfl);
		putHandle.getNetworkManager().cancelInterestFilter(this, testName3, tfl);
		putHandle.getNetworkManager().cancelInterestFilter(this, testName5, tfl);
		putHandle.getNetworkManager().cancelInterestFilter(this, testName7, tfl);
		
		// Make sure nothing is registered after a /
		ContentName slashName = ContentName.fromNative("/");
		putHandle.getNetworkManager().setInterestFilter(this, testName1, tfl);
		putHandle.getNetworkManager().setInterestFilter(this, slashName, tfl);
		putHandle.getNetworkManager().setInterestFilter(this, testName5, tfl);
		prefixes = putHandle.getNetworkManager().getRegisteredPrefixes();
		Assert.assertFalse(prefixes.contains(testName5));
		
		putHandle.getNetworkManager().cancelInterestFilter(this, testName1, tfl);
		putHandle.getNetworkManager().cancelInterestFilter(this, slashName, tfl);
		putHandle.getNetworkManager().cancelInterestFilter(this, testName5, tfl);
		
	}

After Change


		putHandle.getNetworkManager().cancelInterestFilter(this, testName2, tfl);
		putHandle.registerFilter(testName3, tfl);
		putHandle.registerFilter(testName4, tfl);
		putHandle.registerFilter(testName5, tfl);
		putHandle.registerFilter(testName2, tfl);
		putHandle.registerFilter(testName1, tfl);
		gotInterest = false;
		filterSema.drainPermits();
		getHandle.expressInterest(interest6, tl);		
		filterSema.tryAcquire(WAIT_MILLIS, TimeUnit.MILLISECONDS);
		getHandle.checkError(TEST_TIMEOUT);
		Assert.assertTrue(gotInterest);
		getHandle.cancelInterest(interest6, tl);
		
		// Make sure that a filter that is a prefix of a registered filter
		// doesn't get registered separately.
		gotInterest = false;
		filterSema.drainPermits();
		putHandle.registerFilter(testName7, tfl);
		ArrayList<ContentName> prefixes = putHandle.getNetworkManager().getRegisteredPrefixes();
		Assert.assertFalse(prefixes.contains(testName7));
		getHandle.expressInterest(interest4, tl);
		filterSema.tryAcquire(WAIT_MILLIS, TimeUnit.MILLISECONDS);
		getHandle.checkError(TEST_TIMEOUT);
		Assert.assertTrue(gotInterest);
		getHandle.cancelInterest(interest4, tl);
		gotInterest = false;
		filterSema.drainPermits();
		getHandle.expressInterest(interest6, tl);
		filterSema.tryAcquire(WAIT_MILLIS, TimeUnit.MILLISECONDS);
		getHandle.checkError(TEST_TIMEOUT);
		Assert.assertTrue(gotInterest);
		getHandle.cancelInterest(interest6, tl);
		putHandle.unregisterFilter(testName1, tfl);
		putHandle.unregisterFilter(testName2, tfl);
		putHandle.unregisterFilter(testName3, tfl);
		putHandle.unregisterFilter(testName5, tfl);
		putHandle.unregisterFilter(testName7, tfl);
		
		// Make sure nothing is registered after a /
		ContentName slashName = ContentName.fromNative("/");
		putHandle.registerFilter(testName1, tfl);
		putHandle.registerFilter(slashName, tfl);
		putHandle.registerFilter(testName5, tfl);
		prefixes = putHandle.getNetworkManager().getRegisteredPrefixes();
		Assert.assertFalse(prefixes.contains(testName5));
		
		putHandle.unregisterFilter(testName1, tfl);
		putHandle.unregisterFilter(slashName, tfl);
		putHandle.unregisterFilter(testName5, tfl);
		
	}